class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        //边界
        int n=cost.size();
        if(n==2) return min(cost[1],cost[0]);
        //dp
        vector<int> dp(n+1);
        //初始化
        dp[0]=0,dp[1]=0;
        //填表
        for(int i=2;i<=n;i++)
        {
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        //返回值
        return dp[n];
    }
};